home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / biz / swood / FW_AllInOne.lha / Makros / MoreTextBlock < prev    next >
Text File  |  1998-01-18  |  6KB  |  282 lines

  1. /* Optimized with RexxOpt 1.7 */
  2.  
  3. Parse ARG FW
  4. if ~show('L',"rexxreqtools.library") then;do
  5. if ~addlib('rexxreqtools.library',0,-30,0) then;do
  6. 'ShowMessage 1 1 "Fehler...." "Benötige RexxReqTools.library" " A B B R U C H ! !" "Okay" "" ""'
  7. exit
  8. end
  9. end
  10. IF ~SHOW('LIBRARIES','tritonrexx.library') THEN;DO
  11. IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN;DO
  12. 'ShowMessage 2 1 "Fehler...." "Benötige TritonRexx.library" "" "Abbruch" "" ""'
  13. Exit
  14. END
  15. END
  16. R='0A'X
  17. SIGNAL ON syntax
  18. If open('Hilfe',"S:FW_Paket.prefs","R") then;do
  19. HilfeVerz=readln('Hilfe')
  20. Call Close('Hilfe')
  21. End
  22. else HilfeVerz=''
  23. If FW='' then;do
  24. Address='FinalW'
  25. Options results
  26. STATUS PORTNAME
  27. FW=result
  28. End
  29. address(FW)
  30. apptags='TRCA_Name     MoreTextblock',
  31. 'TRCA_LongName "MoreTextBlock"',
  32. 'TRCA_Info     "Makro für Finalwriter"',
  33. 'TRCA_Version  "2.1 registered"',
  34. 'TRCA_Release  "3"',
  35. 'TRCA_Date     "09.01.98"',
  36. 'TAG_END'
  37. windowtags=WindowID(1),
  38. WindowPosition('TRWP_CENTERDISPLAY'),
  39. WindowFlags('TRWF_NOZIPGADGET|TRWF_NOMINTEXTWIDTH|TRWF_ACTIVATESTRGAD'),
  40. PubScreenName('FinalWriterPubScreen'),
  41. WindowTitle('MoreTextBlock'),
  42. BeginMenu('Projekt'),
  43. MenuItem('Voreinsteller...',102),
  44. 'ItemBarlabel',
  45. MenuItem('Q_Verlassen',104),
  46. BeginMenu('?'),
  47. MenuItem('?_Info',101),
  48. MenuItem('H_Hilfe',103),
  49. 'HorizGroupAC',
  50. 'SpaceS',
  51. 'VertGroupA',
  52. 'SpaceS',
  53. 'HorizGroupAC',
  54. CheckBox(6),
  55. 'SpaceS',
  56. StringGadget('',10) 'TRAT_VALUE 256',
  57. 'EndGroup',
  58. 'Space',
  59. 'HorizGroupEC',
  60. Button(' _Anwenden',2),
  61. 'SpaceS',
  62. Button('_Erneuern',3),
  63. 'SpaceS',
  64. Button('Ab_bruch',4),
  65. 'EndGroup',
  66. 'SpaceS',
  67. 'EndGroup',
  68. 'SpaceS',
  69. 'EndGroup',
  70. 'EndProject'
  71. app=TR_CREATEAPP('TRCA_Name MTB')
  72. IF app ~='00000000'x THEN;DO
  73. ende=0
  74. window1=TR_OPENPROJECT(app,windowtags)
  75. IF window1 ~='00000000'x THEN;DO
  76. DO WHILE ende ~=1
  77. CALL TR_WAIT(app,'')
  78. DO WHILE TR_HANDLEMSG(app,'event')
  79. IF event.trm_class='TRMS_NEWVALUE' THEN;DO
  80. SELECT
  81. WHEN event.trm_id=6 THEN;Do
  82. CALL TR_SETATTRIBUTE(window1,6,'TRAT_VALUE',0)
  83. Text=""
  84. CALL program3
  85. CALL TR_SETATTRIBUTE(window1,10,'TROB_String',Text)
  86. END
  87. OTHERWISE NOP
  88. END
  89. END
  90. IF event.trm_class='TRMS_ACTION' THEN;DO
  91. SELECT
  92. WHEN event.trm_id=2 THEN;Do
  93. String=TR_GETATTRIBUTE(window1,10,'TROB_String')
  94. If String~="" then CALL program
  95. END
  96. WHEN event.trm_id=3 THEN CALL program2
  97. WHEN event.trm_id=4 THEN ende=1
  98. WHEN event.trm_id=101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"MoreTextBlock V2.1 für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
  99. WHEN event.trm_id=102 THEN TextBlockPrefs PROMPT
  100. WHEN event.trm_id=103 THEN address command "run Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"MoreTextBlock.guide"||d2c(34)
  101. WHEN event.trm_id=104 THEN ende=1
  102. OTHERWISE NOP
  103. END
  104. END
  105. END
  106. IF event.trm_class='TRMS_CLOSEWINDOW' THEN ende=1
  107. END
  108. CALL TR_CLOSEPROJECT(window1)
  109. END
  110. CALL TR_DELETEAPP(app)
  111. END
  112. Exit
  113. program:
  114. GraphicTool
  115. GetDocItemPrefs Decimal
  116. Punkt=Result
  117. If Punkt="Comma" then DocItemPrefs Decimal Period
  118. STATUS Page
  119. Seite=result
  120. Status ScrollPos
  121. Parse var result posx posy
  122. xx=posx+2;a=0
  123. Do while 1
  124. zahl=37
  125. If String='' then leave
  126. text=Left(String,zahl)
  127. if (pos(d2c(32),Text,zahl-1)=37|pos(d2c(32),String,zahl)=38) then;do
  128. zahl=zahl-2
  129. text=Left(String,zahl)
  130. end
  131. String=DelStr(String,1,zahl)
  132. DrawTextBlock Seite posx posy+2 Text
  133. CurrentObject
  134. a=a+1;Object.0=a
  135. Object.a=result
  136. GetObjectCoords Object.a
  137. Parse var result Seite left top weight height
  138. SetObjectCoords Object.a Seite xx top weight height
  139. xx=xx+weight
  140. Redraw
  141. End
  142. SelectObject Object.1
  143. Do i=Object.1 to Object.a
  144. SelectObject i MULTIPLE
  145. End
  146. Group
  147. If Punkt="Comma" then DocItemPrefs DECIMAL Comma
  148. GraphicTool
  149. return
  150. program2:
  151. a=1
  152. GraphicTool
  153. GetDocItemPrefs Decimal
  154. Punkt=Result
  155. If Punkt="Comma" then DocItemPrefs Decimal Period
  156. CurrentObject
  157. ObjectID=result
  158. If ObjectID=0 then return
  159. Ungroup
  160. FirstObject Selected
  161. ID=result
  162. Object.0=a;Object.a=ID
  163. Do While 1
  164. NextObject ID Selected
  165. ID=result
  166. If ID=0 then Leave
  167. Call Zaehlen
  168. End
  169. GetObjectRotation Object.1
  170. Dreh=result
  171. Do i=Object.1 to Object.a
  172. SelectObject i MULTIPLE
  173. End
  174. Group
  175. CurrentObject
  176. ObjectID=result
  177. Null=0-Dreh
  178. SetObjectRotation ObjectID Null DELTA
  179. Ungroup
  180. Do i=1 to Object.0
  181. GetObjectCoords Object.i
  182. Parse Var result page.i left.i top.i weight.i height.i
  183. End
  184. left=left.1
  185. Do i=2 to Object.0
  186. z=i-1
  187. left=left+weight.z
  188. SetObjectCoords Object.i page.1 left top.1 weight.i height.i
  189. End
  190. SelectObject Object.1
  191. Do i=Object.1 to Object.a
  192. SelectObject i MULTIPLE
  193. End
  194. Group
  195. CurrentObject
  196. ObjectID=result
  197. SetObjectRotation ObjectID Dreh DELTA
  198. If Punkt="Comma" then DocItemPrefs DECIMAL Comma
  199. GraphicTool
  200. Redraw
  201. return
  202. program3:
  203. a=1
  204. GraphicTool
  205. CurrentObject
  206. ObjectID=result
  207. If ObjectID=0 then;do
  208. Texttool
  209. Extract
  210. Text=result
  211. pos=1;vorbei=0
  212. do until vorbei=1
  213. pos=index(Text,d2c(10),pos)
  214. if pos~=0 then Text=Overlay(' ',Text,pos)
  215. if pos=0 then vorbei=1
  216. end
  217. STATUS FONTNAME
  218. tfont=result
  219. STATUS FONTCOLOR
  220. tcolor=result
  221. STATUS FONTSIZE
  222. tsize=result
  223. STATUS FONTLEADING
  224. tlead=result
  225. STATUS FONTWIDTH
  226. twidth=result
  227. STATUS FONTOBLIQUE
  228. tobl=result
  229. TextBlockTypePrefs Size tsize Leading tlead Width twidth Oblique tobl Color tcolor Font tfont
  230. Return
  231. End
  232. Ungroup
  233. FirstObject Selected
  234. ID=result
  235. Object.0=a;Object.a=ID
  236. Do While 1
  237. NextObject ID Selected
  238. ID=result
  239. If ID=0 then Leave
  240. Call Zaehlen
  241. End
  242. Text=""
  243. GetObjectTypeSpecs Object.1 Size Leading Width Oblique Color Font
  244. Parse Var result tsize tlead twidth tobl tcolor tfont
  245. TextBlockTypePrefs Size tsize Leading tlead Width twidth Oblique tobl Color tcolor Font tfont
  246. Do i=Object.1 to Object.a
  247. GetTextBlockText i
  248. str=result
  249. Text=Text||str
  250. End
  251. Do i=Object.1 to Object.a
  252. SelectObject i MULTIPLE
  253. End
  254. Group
  255. GraphicTool
  256. Redraw
  257. return
  258. Zaehlen:
  259. If ID~=Object.1 then;do
  260. a=a+1
  261. Object.0=a;Object.a=ID
  262. End
  263. Return
  264. syntax:
  265. CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)||R||SOURCELINE(sigl)||R||'Bitte informieren Sie den Autor...',20)
  266. quit:
  267. PARSE ARG message,rcode
  268. IF app ~='00000000'x THEN;DO
  269. IF message ~='' THEN
  270. ret=rtezrequest(message,"_Okay","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
  271. CALL TR_DELETEAPP(app)
  272. END
  273. ELSE;DO
  274. IF message ~='' THEN;DO
  275. SAY message
  276. SAY
  277. OPTIONS PROMPT 'Bitte <RETURN> drücken'
  278. PULL taste
  279. END
  280. END
  281. address command "flushtrx all"
  282. EXIT(rcode)